﻿/**************************************************************************************************
* 作    者：石国庆          创始时间：2014-12-26                                      
* 修 改 人：石国庆          修改时间：2014-12-26                                                    
* 描    述：订单表映射                                                                  
**************************************************************************************************/
using System;
using BAT.APT.Domain.Entities;
using BAT.APT.Domain.ValueObject;
using FluentNHibernate.Mapping;
using NHibernate.Mapping;

namespace BAT.APT.Domain.Maps
{
    public class OrderMap:ClassMap<Order>
    {
        public OrderMap()
        {
            Table("order_t");
            Id(m => m.Id).GeneratedBy.Identity();
            Map(m => m.CreateTime);
            Map(m => m.Del);

            Map(m => m.OrderCode);
            Map(m => m.TotalPrice);
            //枚举类型需要像下面这样定义
            //Map(m => m.State).CustomType<Enums.OrderState>();
            //Map(m => m.State);不像上面定义会变为nvchar，上面试会变为int
            References(m => m.Customer);
            HasMany(m => m.LineItems).Inverse().Cascade.AllDeleteOrphan();

        }
    }
}